package com.spukmk3me;

import com.spukmk3me.io.FileSystem;
import com.spukmk3me.io.userinput.ButtonInput;
import com.spukmk3me.io.userinput.PointerInput;
import com.spukmk3me.resource.ResourceManager;
import com.spukmk3me.scene.Scene;
import com.spukmk3me.sound.SoundPlayer;
import com.spukmk3me.video.VideoAPI;

public abstract class Platform
{
    public abstract FileSystem       getFileSystem();
    public abstract ResourceManager  getResourceManager();
    public abstract VideoAPI         getVideoAPI();
    public abstract SoundPlayer      getSoundPlayer();
    public abstract Scene            getScene();
    public abstract PointerInput     getPointerInput();
    public abstract ButtonInput      getButtonInput();
    public abstract void             setGameProcessor( GameProcessor processor );
    public abstract void             setMaximumDeltaMSPerFrame( long deltaMS );
    public abstract long             getMaximumDeltaMSPerFrame();
    
    public static Platform PLATFORM;
}
